<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    [v-cloak] {
      display: none;
    }
  </style>
  <script src="../vue.js"></script>
</head>

<body>
  <!-- 过滤器：就是用来对数据进行格式化，例如首字母，时间等 -->
  <div id="app">
    <!-- 过滤器使用方式：以竖线 分割，左侧是需要格式化的数据，右侧是过滤器 -->
    <p v-cloak>{{uname | lower}}</p>
    <!-- 过滤器可以多个结合使用 -->
    <p>{{name | upper}}</p>

    <p :info='name | upper'>jerry</p>
  </div>

  <script>
    /*
      过滤器使用Vue.filter() 方法进行定义
      第一个参数：过滤器名称
      第二个参数： 回调函数
      在回调函数中，有一个参数，这个参数就是需要进行格式化的数据，也是竖线左侧的数据
    */
    // Vue.filter('lower', function (val) {
    //   return val.charAt(0).toLowerCase() + val.slice(1)
    // })
    // Vue.filter('upper', function (val) {
    //   return val.charAt(0).toUpperCase() + val.slice(1)
    // })
    var vm = new Vue({
      el: '#app',
      data: {
        name: 'tom',
        uname: 'Tom'
      },
      filters: {
        // 局部过滤器
        lower: function (val) {
          return val.charAt(0).toLowerCase() + val.slice(1)
        },
        upper: function (val) {
          return val.charAt(0).toUpperCase() + val.slice(1)
        }
      }
    })
  </script>
</body>

</html>